{extend name="$_admin_base_layout" /}

{block name="plugins-css"}
<link href="__LIBS__/jstree/themes/default/style.min.css" rel="stylesheet" />
{/block}

{block name="content"}
{notempty name="page_tips"}
<div class="alert alert-{$tips_type|default='info'} alert-dismissable">
    <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
    <p>{$page_tips|raw|default=''}</p>
</div>
{/notempty}
<div class="row">
    <div class="col-md-12">
        <div class="block">
            {notempty name="tab_nav.tab_list"}
            <ul class="nav nav-tabs">
                {volist name="tab_nav['tab_list']" id="vo"}
                <li {eq name="tab_nav.curr_tab" value="$key"}class="active"{/eq}>
                <a href="{$vo.url}">{$vo.title}</a>
                </li>
                {/volist}
                <li class="pull-right">
                    <ul class="block-options push-10-t push-10-r">
                        <li>
                            <button type="button" data-toggle="block-option" data-action="fullscreen_toggle"></button>
                        </li>
                        <li>
                            <button type="button" data-toggle="block-option" data-action="refresh_toggle" data-action-mode="demo"><i class="si si-refresh"></i></button>
                        </li>
                        <li>
                            <button type="button" data-toggle="block-option" data-action="content_toggle"></button>
                        </li>
                        <li>
                            <button type="button" data-toggle="block-option" data-action="close"><i class="si si-close"></i></button>
                        </li>
                    </ul>
                </li>
            </ul>
            {else/}
            <div class="block-header bg-gray-lighter">
                <ul class="block-options">
                    <li>
                        <button type="button" data-toggle="block-option" data-action="fullscreen_toggle"></button>
                    </li>
                    <li>
                        <button type="button" data-toggle="block-option" data-action="refresh_toggle" data-action-mode="demo"><i class="si si-refresh"></i></button>
                    </li>
                    <li>
                        <button type="button" data-toggle="block-option" data-action="content_toggle"></button>
                    </li>
                    <li>
                        <button type="button" data-toggle="block-option" data-action="close"><i class="si si-close"></i></button>
                    </li>
                </ul>
                <h3 class="block-title">{$page_title}</h3>
            </div>
            {/notempty}

            <form name="form-builder" id="form" class="form-horizontal form-builder">
                <input type="hidden" name="uid" value="{:input('param.uid', '')}">
                <input type="hidden" name="tab_name" value="{$tab_name|default=''}">
                <div class="block-content tab-content">
                    <div class="tab-pane fade in active push-20">
                        {notempty name="access"}
                        <div class="row data-table-toolbar">
                            <div class="col-sm-12">
                                <div class="toolbar-btn-action">
                                    <button title="全选" type="button" class="btn btn-info" id="check-all"><i class="fa fa-check-circle-o"></i> 全选</button>
                                    <button title="取消全选" type="button" class="btn btn-danger" id="uncheck-all"><i class="fa fa-ban"></i> 取消全选</button>
                                    <button title="展开所有节点" type="button" class="btn btn-success" id="expand-all"><i class="fa fa-plus"></i> 展开所有节点</button>
                                    <button title="收起所有节点" type="button" class="btn btn-warning" id="collapse-all"><i class="fa fa-minus"></i> 收起所有节点</button>
                                </div>
                            </div>
                        </div>
                        <div class="block block-bordered">
                            <ul class="nav nav-tabs">
                                {volist name="access" id="vo"}
                                <li {eq name="key" value="$tab"}class="active"{/eq}>
                                <a href="{$vo.url|default=''}">{$vo.title|default=''}</a>
                                </li>
                                {/volist}
                            </ul>
                            <div class="block-content tab-content">
                                <div class="tab-pane active" id="btabs-static-home">
                                    <div id="jstree" class="push">{$nodes|raw|default=''}</div>
                                </div>
                            </div>
                        </div>
                        {else/}
                        <div class="form-empty">
                            <p class="text-center text-muted empty-info">
                                <i class="fa fa-database"></i> 暂无授权数据<br>
                            </p>
                        </div>
                        {/notempty}
                    </div>
                    <div class="push-20">
                        {notempty name="access"}
                        <button class="btn btn-minw btn-primary" type="submit">
                            确定
                        </button>
                        {/notempty}
                        <a class="btn btn-default" href="{:url('index')}">
                            返回
                        </a>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>
{/block}

{block name="script"}
<script src="__LIBS__/jstree/jstree.min.js"></script>
<script>
    $(document).ready(function(){
        $('#jstree').jstree({
            plugins: ["checkbox", "search"],
            "checkbox" : {
                "keep_selected_style" : false,
                "three_state" : false,
                "cascade" : 'down+up'
            },
            "search" : {
                'show_only_matches' : true,
                'show_only_matches_children' : true
            },
            "core" : {
                "themes" : {
                    'icons' : false
                }
            }
        });

        // 全选
        $('#check-all').click(function () {
            $('#jstree').jstree(true).check_all();
        });
        // 取消全选
        $('#uncheck-all').click(function () {
            $('#jstree').jstree(true).uncheck_all();
        });
        // 展开所有
        $('#expand-all').click(function () {
            $('#jstree').jstree(true).open_all();
        });
        // 收起所有
        $('#collapse-all').click(function () {
            $('#jstree').jstree(true).close_all();
        });

        // 提交表单
        $('#form').submit(function () {
            var nodes = $('#jstree').jstree(true).get_checked();

            $.post('{:url("access", ["module" => $module, "uid" => $uid, "tag" => $tab])}', {nodes:nodes}).success(function (res) {
                if (res.code) {
                    Dolphin.notify(res.msg, 'success');
                    setTimeout(function () {
                        location.href = res.url;
                    }, 1500);
                } else {
                    Dolphin.notify(res.msg, 'danger');
                }
            }).fail(function () {
                Dolphin.notify('服务器发生错误~', 'danger');
            });
            return false;
        });
    });
</script>
{/block}
